package com.itheima.ydd.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 菜单表(SysMenu)表实体类
 *
 * @author King
 * @since 2022-11-12 23:23:16
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_menu")
public class SysMenu implements Serializable {
    private static final long serialVersionUID = 1L;

    //编号
    @TableId(value="id",type= IdType.AUTO)

    private Integer id;
    //父级编号
    private Integer pid;
    //路由名称
    private String path;
    //组件路径
    private String component;
    //菜单名称
    private String title;
    //图标
    private String icon;
    //是否在菜单中显示，0不显示，1显示
    @JsonProperty("is_show")
    private Integer isShow;
    //是否缓存，0否，1是
    @JsonProperty("is_cache")
    private Integer isCache;
    //是否外联，0否，1是
    @JsonProperty("is_link")
    private Integer isLink;
    //重定向地址
    private String redirect;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)  //插入时自动填充字段  fill: 表公共字段
    private LocalDateTime createDate;
    /**
     * 更新时间
     */
    //只有标记了公共字段,后期事件填充才有效
    @TableField(fill = FieldFill.INSERT_UPDATE)   //更新时自动填充字段
    private LocalDateTime updateDate;
    //删除标记
    @TableLogic
    private Integer delFlag;
    //类型，1是菜单，2按钮
    private Integer type;
    //排序
    private String sort;
    //权限标识
    private String mark;
    //是否为默认数据，null表示不是，1表示是
    private String defaultData;

}

